This invention relates to a method and a device for connecting a 16-bit microprocessor to 8-bit modules, finding application in 16-bit computers and microprocessor systems.
There is a well-known method for connecting a 16-bit bus to an 8-bit bus (U.S. Pat. No. 4,447,878) wherein the 16-bit bus exchanges with the 8-bit bus one byte for each exchange operation, and in the beginning of the operation, the 16-bit bus sets the address and the exchange control signals to the 8-bit bus which fixes the state of the 16-bit bus when the access time is longer than the duration of the exchange operation and where the 16-bit bus, if required to exchange one word (two bytes) to the 8-bit bus, performs two subsequent byte exchange instructions, which effect two one-byte exchange operations.
It is a disadvantage of the known method that the portion of exchanged information between the 16-bit bus and the 8-bit bus by one exchange operation is restricted by the number of digits of the 8-bit bus and not by the 16-bit bus. Another disadvantage of the known method is the low exchange speed between the 16-bit bus and the 8-bit bus. The known method actually makes the 16-bit bus behave like a "pseudo 8-bit bus", rather than making the 8-bit bus behave like a "pseudo 16-bit bus".
U.S. Pat. No. 4,447,878 also discloses a device for connecting 16-bit modules to both 8-bit and 16-bit microprocessors, wherein the primary data bus of the 16-bit modules are connected to the module's side of data port of a primary bidirectional data buffer and the secondary data bus are connected to the module's side of data bus of a secondary bidirectional data buffer. The address outputs of the 16-bit and 8-bit microprocessors are connected to the inputs of a unidirectional address buffer, the outputs of which are connected to the address inputs of the 16-bit modules. The secondary data bus of the 16-bit modules are connected to the module's side of data bus of a bidirectional swap data buffer, the microprocessor's side of data bus of which is connected to the primary data bus of the 16-bit microprocessor.
Byte exchanges from the 16 bit microprocessor to the 16 bit module occur as follows: In the case of a byte exchange operation on an even address, the 16-bit microprocessor primary data bus are directly coupled to the 16-bit module's primary bus by means of the primary bidirectional data buffer. In the case of a byte exchange operation of an odd address, the 16-bit microprocessor secondary data bus are connected to the 16-bit module's secondary data bus by means of the secondary bidirectional data buffer.
Byte exchanges from the 8 bit microprocessor to the 16 bit module occur as follows: In the case of a byte exchange operation of an odd address, the 8-bit microprocessor data bus are connected to the 16-bit modules secondary data bus by means of the bidirectional swap data buffer.
In word exchange operations, the 16-bit microprocessor primary data bus are coupled by means of the primary bidirectional data buffer to the 16-bit module's primary data bus, and the 16-bit microprocessor secondary data bus are connected by means of the secondary bidirectional data buffer to the 16-bit module's secondary data bus.
It is a disadvantage of the known device that, in word and byte exchange operations, if 8-bit modules are used in the system their data bus must be evenly connected to the 16-bit microprocessor primary or secondary data bus, which is, in fact, a firm connection of the 8-bit modules to addresses on either the even or the odd boundary, because the bidirectional switching data buffer is not activated. A change of the 16-bit microprocessor software is required to surmount the limitations appearing in the case of word exchange.
It is a further disadvantage both of the known method and the known device that they contain a limitation for the utilization only of data byte operations with the 8-bit modules of the 16-bit microprocessor system.
Thus, the prior art does not teach any specific method or means for connecting a 16-bit microprocessor with an 8-bit memory, for example, where the 8-bit memory is made to appear like a 16-bit memory to the 16-bit microprocessor. On the contrary, the known methods and devices all make the 16-bit microprocessor behave like an 8-bit microprocessor when dealing with 8-bit memory devices.